
package com.siashan.unipay4j.wx.model.refund;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
 * 退款回调接口响应报文
 *
 * @author siashan
 * @since 2.0.1
 * @date  2023-02-14 11:37
 */
@Getter
@Setter
@NoArgsConstructor
public class RefundNotifyResponse {

    /**
     * 通知ID
     */
    private String id;
    /**
     * 通知创建时间
     *
     * @apiNote 通知创建时间 通知创建的时间，遵循rfc3339标准格式，格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE，yyyy-MM-DD表示年月日，T出现在字符串中，表示time元素的开头，HH:mm:ss表示时分秒，TIMEZONE表示时区（+08:00表示东八区时间，领先UTC 8小时，即北京时间）。例如：2015-05-20T13:29:35+08:00表示，北京时间2015年5月20日13点29分35秒。
     * 示例值：2018-06-08T10:34:56+08:00
     */
    @JSONField(name = "create_time")
    private String createTime;
    /**
     * 通知类型
     *
     * @apiNote 通知的类型：
     * REFUND.SUCCESS：退款成功通知
     * REFUND.ABNORMAL：退款异常通知
     * REFUND.CLOSED：退款关闭通知
     * 示例值：REFUND.SUCCESS
     */
    @JSONField(name = "event_type")
    private String eventType;

    /**
     * 通知简要说明
     *
     * @apiNote 通知简要说明
     */
    private String summary;
    /**
     * 通知数据类型
     *
     * @apiNote 通知的资源数据类型，支付成功通知为encrypt-resource
     * 示例值：encrypt-resource
     */
    @JSONField(name = "resource_type")
    private String resourceType;
    /**
     * 通知数据
     *
     * @apiNote 通知资源数据
     * json格式，见示例
     */
    private RefundNotifyResultResource resource;

}
